#include <stdio.h>

int main() {
    int arr[] = {64, 34, 25, 12, 22, 11, 90}; // 待排序的数组
    int length = sizeof(arr) / sizeof(arr[0]); // 计算数组长度

    // 打印原始数组
    printf("原始数组：\n");
    for (int i = 0; i < length; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    // 选择排序
    for (int i = 0; i < length - 1; i++) {
        int minIndex = i; // 假设当前索引为最小值索引

        // 找到未排序部分的最小值索引
        for (int j = i + 1; j < length; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j; // 更新最小值索引
            }
        }

        // 交换当前元素和找到的最小值
        if (minIndex != i) {
            int temp = arr[i]; // 使用临时变量进行交换
            arr[i] = arr[minIndex];
            arr[minIndex] = temp;
        }
    }

    // 打印排序后的数组
    printf("\n排序后的数组：\n");
    for (int i = 0; i < length; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}
